package edu.whut.mall.admin.service;

import edu.whut.mall.admin.dto.ShiroSysUser;
import edu.whut.mall.admin.model.Admin;
import edu.whut.mall.admin.model.AdminRole;
import edu.whut.mall.admin.dto.AdminDto;
import edu.whut.mall.admin.model.Role;
import edu.whut.mall.admin.vo.AdminVo;
import edu.whut.mall.admin.vo.LoginVo;

import java.util.List;


/**
 * Author: smq
 * Unit: D9lab
 * Date: 2021-06-11 17.40
 */

public interface IAdminService {

    /**
     * 管理员登陆
     *
     * @param loginIp
     * @param username
     * @param password
     * @return
     */
    LoginVo loginAdmin(String loginIp, String username, String password);

    /**
     * 新增管理员
     *
     * @param adminDto
     * @return
     */
    Admin insertOneUser(String RegIp, AdminDto adminDto);

    /**
     * 给用户分配角色
     *
     * @param userId
     * @param roleIdString
     * @return
     */
    List<AdminRole> assignRoleUser(Integer userId, String roleIdString);

    /**
     * 通过id获取指定管理员信息
     *
     * @param id
     * @return
     */
    AdminVo getItem(Integer id);

    /**
     * 通过id更新管理员信息
     *
     * @param id
     * @param adminDto
     * @return
     */
    Integer updateAdmin(Integer id, AdminDto adminDto);

    /**
     * 通过id删除指定管理员
     *
     * @param id
     * @return
     */
    Integer deleteAdminById(Integer id);

    /**
     * 通过id更新管理员状态
     *
     * @param id
     * @param status
     * @return
     */
    Integer updateStatus(Integer id, Integer status);

    /**
     * 通过id获取管理员角色信息
     *
     * @param id
     * @return
     */
    List<Role> getRoleList(Integer id);

}
